package com.skirmisher.inspection.common.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.skirmisher.inspection.common.utils.DealWithLoopUtils;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * 巡查循环表（不区分日常与符合）
 */
public class InsLoop {
	/** 主键 */
	@ApiModelProperty("主键")
	private String loopId;
	/** 模板id */
	@ApiModelProperty("模板id")
	private String tempId;
	/** 周期名称（为巡查模板名称，如果存在一个巡查模板绑定多个模板，名称后加时间） */
	@ApiModelProperty("周期名称（为巡查模板名称，如果存在一个巡查模板绑定多个模板，名称后加时间）")
	private String loopName;
	/** 是否为周期模板 */
	@ApiModelProperty("是否为周期模板")
	private String isTemp;
	/** 所选日期1-31 的二进制数字之和 */
	@ApiModelProperty("所选日期1-31 的二进制数字之和")
	@JsonIgnore
	private String monDay;
	/** 星期1-7 二进制之和 */
	@ApiModelProperty("星期1-7 二进制之和")
	@JsonIgnore
	private Integer weekDay;
	/** 小时1-24 二进制之和 默认8点 */
	@ApiModelProperty("小时1-24 二进制之和 默认8点")
	@JsonIgnore
	private Integer hour;
	/** 循环类型 mon：月（无week值）week：星期（无mon值） */
	@ApiModelProperty("循环类型 mon：月（无week值）week：星期（无mon值）")
	private String loopType;

	@ApiModelProperty("月内天集合[1,2,3]")
	private List<Integer> mon;
	@ApiModelProperty("星期内天集合[1,2,3]")
	private List<Integer> week;
	@ApiModelProperty("小时集合[1,2,3]")
	private List<Integer> time;

	public List<Integer> getMon() {
		return DealWithLoopUtils.string2List(this.monDay);
	}

	public void setMon(List<Integer> mon) {
		this.mon = mon;
		setMonDay(DealWithLoopUtils.list2String(mon));
	}

	public List<Integer> getWeek() {
		return DealWithLoopUtils.int2List(this.weekDay);
	}

	public void setWeek(List<Integer> week) {
		this.week = week;
		setWeekDay(DealWithLoopUtils.list2Int(week));
	}

	public List<Integer> getTime() {
		return DealWithLoopUtils.int2List(this.hour);
	}

	public void setTime(List<Integer> time) {
		this.time = time;
		setHour(DealWithLoopUtils.list2Int(time));
	}

	public void setLoopId(String loopId) {
		this.loopId = loopId;
	}
	
	public String getLoopId() {
		return this.loopId;
	}
	
	public void setTempId(String tempId) {
		this.tempId = tempId;
	}
	
	public String getTempId() {
		return this.tempId;
	}
	
	public void setLoopName(String loopName) {
		this.loopName = loopName;
	}
	
	public String getLoopName() {
		return this.loopName;
	}
	
	public void setIsTemp(String isTemp) {
		this.isTemp = isTemp;
	}
	
	public String getIsTemp() {
		return this.isTemp;
	}
	
	public void setMonDay(String monDay) {
		this.monDay = monDay;
	}
	
	public String getMonDay() {
		return this.monDay;
	}
	
	public void setWeekDay(Integer weekDay) {
		this.weekDay = weekDay;
	}
	
	public Integer getWeekDay() {
		return this.weekDay;
	}
	
	public void setHour(Integer hour) {
		this.hour = hour;
	}
	
	public Integer getHour() {
		return this.hour;
	}
	
	public void setLoopType(String loopType) {
		this.loopType = loopType;
	}
	
	public String getLoopType() {
		return this.loopType;
	}
	

	
}